#pragma once

#include "LogView.h"
#include "Device.h"

class LogSystem : public Singleton<LogSystem>
{
public:
	LogSystem(void);
	~LogSystem(void);

	shared_ptr<LogView> CreateLogView(LogView::LOGVIEWDESC * desc);
	void Attach(shared_ptr<LogView> logview);
	void DestroyLogView(string logviewname);

	virtual HRESULT OnInitSingleton(void);
	virtual void OnUninitSingleton(void);

private:
	typedef vector<shared_ptr<LogView>> LogViewList;
	LogViewList _List;
};

